<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>类</title>
  </head>
  <body></body>
</html>
<script>
  class Person {
    #age; // 私密实例属性
    static skin = "yellow"; // 静态属性
    constructor(age) {
      this.#age = age;
      this._gender = 0; // 实例属性
    }
    // 实例方法
    func() {
      console.log("实例方法", this);
    }
    // 静态方法
    static getSkin() {
      console.log("静态方法", this.skin);
    }
    // 私有原型方法
    #intro() {
      console.log("私有方法", this);
    }
    // 吊用私密原型方法
    introPublic() {
      this.#intro();
    }
    get gender() {
      return this._gender === 0 ? "male" : "female";
    }
    set gender(val) {
      this._sex = val;
    }
  }
  const p = new Person(18);
</script>
